package cn.com.nes.site.entity.vo.workOrder;

import cn.com.nes.site.entity.vo.BaseVO;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 完成安装工单
 */
@Data
@NoArgsConstructor
public class CompleteOrderRepairVo extends BaseVO {

    /**
     * 工单ID
     */
    @NotNull(message = "工单id")
    @ApiModelProperty(value = "工单id")
    private Long workOrderId;
    /**
     * 经度
     */
    @NotNull(message = "经度")
    @ApiModelProperty(value = "经度")
    private BigDecimal longitude;

    /**
     * 纬度
     */
    @NotNull(message = "纬度")
    @ApiModelProperty(value = "纬度")
    private BigDecimal latitude;

    /**
     * 最终保留的图片列表
     */
    @NotNull(message = "图片列表")
    @ApiModelProperty(value = "图片列表")
    private List<SaveWorkOrderInstallPicVO> savePicList;
    @NotNull(message = "派单时距离到终点的距离")
    @ApiModelProperty(value = "派单时距离到终点的距离")
    private Integer distance;
    //维修类型
    @NotNull(message = "维修类型")
    @ApiModelProperty(value = "维修类型1换件2制冷剂3调试")
    private String repairType;
    @NotNull(message = "故障类型")
    @ApiModelProperty(value = "故障类型0是压缩机1是换热器2是循环水路3冷媒循环4其他")
    private Integer faultType;
    // 维修价格
    @NotNull(message = "维修价格")
    @ApiModelProperty(value = "维修价格")
    private BigDecimal repairPrice;
    //起步距离
    @NotNull(message = "起步距离")
    @ApiModelProperty(value = "起步距离")
    private BigDecimal baseDistance;
    //每公里价格
    @NotNull(message = "每公里价格")
    @ApiModelProperty(value = "每公里价格")
    private BigDecimal pricePerKM;
    //是否往返, 0否1是
    @NotNull(message = "是否往返")
    @ApiModelProperty(value = "是否往返, 0否1是")
    private Integer roundTrip;
    // 故障是否修理完毕, 0-已修好, 1-未修好, 2-等待配件
    @NotNull(message = "故障是否修理完毕")
    @ApiModelProperty(value = "故障是否修理完毕, 0-已修好, 1-未修好, 2-等待配件")
    private Integer repairResult;
    //是否收费, 0-未收费, 1-收费
    @NotNull(message = "是否收费")
    @ApiModelProperty(value = "是否收费, 0-未收费, 1-收费")
    private Integer charged;
    //  备件id
    @ApiModelProperty(value = "备件id")
    private String partId;
    @ApiModelProperty(value = "使用备件数量")
    private String amount;
    /*@ApiModelProperty(value = "备件价格")
    private  String totalPrice;*/
    //工单状态(6为完成时填写的配件，5为等配件填写的配件)
    private String  status;
    //冷媒类型
    @ApiModelProperty(value = "冷媒类型")
    private String refrigerantType;
    //冷媒总价格
    @ApiModelProperty(value = "冷媒总价格")
    private BigDecimal refrigerantPrice;
    //冷媒数量
    @ApiModelProperty(value = "冷媒数量")
    private BigDecimal refrigerantAmount;
    //责任方
    @ApiModelProperty(value = "责任方")
    @NotNull(message = "责任方")
    private String personliable;
    //工单关闭原因
    @ApiModelProperty(value = "工单关闭原因")
    private String closingreason;
    //支付状态,0-待支付,1-已支付
    @NotNull(message = "支付状态")
    @ApiModelProperty(value = "支付状态,0-待支付,1-已支付")
    private Integer paymentState;
    @NotNull(message = "师傅对工单描述")
    @ApiModelProperty(value = "师傅对工单描述")
    private String handleDesc;
}
